home *** CD-ROM | disk | FTP | other *** search
-
- OpenGL Documentation and Technical Information
-
- ----------------------------------------------------------------------------
- Other OpenGL "haunts" on the Toolbox:
-
- OpenGL: FROM THE EXTENSIONS TO THE SOLUTIONS Training Course materials
- : toolbox/src/tutorials/OGLT
- OpenGL example source code tree : toolbox/src/exampleCode/opengl
- OpenGL 1 & 2 classes source trees : toolbox/src/tutorials/custEducation
- OpenGL demo source code tree : toolbox/src/demos/OpenGL
- -------------------------------------------------------------------------
-
-
- Current OpenGL Specifications
-
- * OpenGL Specification, Version 1.1, December 21, 1995
- * GLU Specification, October, 1993
- * GLX Specification, Version 1.1, January 1, 1995
- * Extensions, current as of March 28, 1996
- * GLC Specification, Version 0.2, December 1995
-
- OpenGL Extensions
-
- * OpenGL on Silicon Graphics Systems, March, 1996, includes the relevant
- chapters:
- o Chapter 5: Introduction to OpenGL Extensions
- o Chapter 6: Texturing Extensions
- o Chapter 7: Imaging and Blending Extensions
- o Chapter 8: Miscellaneous OpenGL Extensions
- o Chapter 9: Extensions to GLX
- * OpenGL: FROM THE EXTENSIONS TO THE SOLUTIONS Training Course materials,
- including:
- o OpenGL EXTensions Naming Conventions
- o EXTensions on IMPACT
- o Rendering EXTensions
- o Resource Control EXTensions
- o Imaging EXTensions
- o Texturing EXTensions
- o OpenGL Extension Specifications
- * OpenGL extensions documents grabbed from
- sgigate.sgi.com:~ftp/pub/opengl
-
- OpenGL IRIX 6.2-based documents
-
- * GLR, an OpenGL render server facility
- * OpenGL Render Serving with GLR
- * OpenGL Render Serving "Frequently Asked Questions"
-
- OpenGL papers:
-
- * The OpenGL Utility Toolkit (GLUT) Programming Interface API Version 3,
- February, 1996 from the GLUT 3.1 Distribution in the
- src/exampleCode/opengl source tree
- * ever-growing series on GLUT, an OpenGL Utility Toolkit,
- in the OpenGL and X Column from The X Journal:
- o Column 1: An OpenGL Toolkit, December, 1994
- o Column 2: Let there be light!, January/February, 1995
- o Column 3: Texture Mapping, March/April, 1995
- o Column 4: Blending, Antialiasing, And Fog, May/June, 1995
- o Column 5: Extensions To OpenGL, July/August, 1995
- o Column 6: Hardware For Accelerating OpenGL, September/October,
- 1995
- o Column 7: Using Open Inventor with GLUT, November/December, 1995
- o Column 8: Curves and Surfaces in OpenGL, January/February, 1996
- o Column 9: EXIT: A 3D standard for X (finally!), March/April, 1996
- * System Support for OpenGL Direct Rendering, September, 1994
- * 3-part series on OpenGL and X, from The X Journal:
- o Part 1: An Introduction, November/December, 1993
- o Part 2: Using OpenGL with Xlib, January/February, 1994
- o Part 3: Integrating OpenGL with Motif, July/August, 1994
- o browse example source dir's contents
- o download compressed tar image [29K] of all 3 articles accompanying
- example src code
- * X Server Multi-rendering for OpenGL and PEX, 8th X Technical
- Conference, January, 1994
-
- Various OpenGL documentation:
-
- * OpenGL on Silicon Graphics Systems, March, 1996
- * OpenGL Man Pages (from the EXTensions to the SOLutions Training Course)
- * Notes on Porting RealityEngine Applications to OpenGL, April 20, 1995
- * support for VGX, Personal IRIS, 64-bit, and FORTRAN, 9/19/94
- * The Three DSOs Currently (as of 10/94) supporting the OpenGL core
- * Implementation Notes for OpenGL Programmers, July, 1994
- * OpenGL Widget Man Pages [4]
- * OpenGL FAQ, or (may be more current), outside in Web-lan'
- * IrisGL-to-OpenGL mapping of routines
- --> see also Some IRIS GL Functionality and OpenGL Equivalents
- (from Appendix A: OpenGL and IRIS GL in the OpenGL on Silicon Graphics
- Systems Manual)
- * Proposal for an OpenGL FORTRAN Binding, September, 1994
- * How OpenGL differs from IrisGL, May, 1992
-
- OpenGL tutorials:
-
- * OpenGL: The Graphics Standard, 11/94
- * OpenGL and X, A Technical Overview of OpenGL and the X Window System, 1/94
- * How OpenGL integrates with the X Window System, 1/94
- * The OpenGL Graphics Interface, (introduction to OpenGL)
- * The Design of OpenGL Graphics Interface, (philosphy and details)
-
- ----------------------------------------------------------------------------
-
- Document Abstracts/Overviews:
-
- ----------------------------------------------------------------------------
-
- * OpenGL Specification:
- The OpenGL Graphics System: A Specification, Version 1.1, December, 21,
- 1995
- Version 1.1:
- + html format
- + compressed PostScript (193 pages)
-
- Introduction:
-
- This document describes the OpenGL graphics system: what it is, how it
- acts, and what is required to implement it. We assume that the reader
- has at least a rudimentary understanding of computer graphics. This
- means familiarity with the essentials of computer graphics algorithms
- as well as familiarity with basic graphics hardware and associated
- terms.
-
- What is the OpenGL Graphics System?
-
- OpenGL (for "Open Graphics Library") is a software interface to
- graphics hardware. The interface consists of a set of several hundred
- procedures and functions that allow a programmer to specify the objects
- and operations involved in producing high-quality graphical images,
- specifically color images of three-dimensional objects.
-
- Most of OpenGL requires that the graphics hardware contain a
- framebuffer. Many OpenGL calls pertain to drawing objects such as
- points, lines, polygons, and bitmaps, but the way that some of this
- drawing occurs (such as when antialiasing or texturing is enabled)
- relies on the existence of a framebuffer. Further, some of OpenGL is
- specifically concerned with framebuffer manipulation.
-
- ----------------------------------------------------------------------------
-
- * GLU Specification:
- The OpenGL(TM) Graphics System Utility Library, October 8, 1993
- o compressed PostScript format (16 pages)
-
- Overview:
-
- The GL Utilities (GLU) library is a set of routines designed to
- complement the OpenGL(TM) graphics system by providing support for
- mipmapping, matrix manipulation, polygon tessellation, quadrics, NURBS,
- and error handling. Mipmapping routines include image scaling and
- automatic mipmap generation. A variety of matrix manipulation functions
- build projection and viewing matrices, or project vertices from one
- coordinate system to another. Polygon tessellation routines convert
- concave polygons into triangles for easy rendering. Quadrics support
- renders a few basic quadrics such as spheres and cones. NURBS code maps
- complicated NURBS curves and trimmed surfaces into simpler OpenGL
- evaluators. Lastly, an error lookup routine translates OpenGL and GLU
- error codes into strings.
-
- ----------------------------------------------------------------------------
-
- * GLX Specification:
- OpenGL Graphics with the X Window System, Version 1.1, January 1, 1995
- o html format
- o compressed PostScript (24 pages)
-
- Overview:
-
- This document describes GLX, the OpenGL extension to the X Window
- System. It refers to concepts discussed in the OpenGL specification,
- and may be viewed as an X specific appendix to that document. Parts of
- the document assume some acquaintance with both the OpenGL and X.
-
- In the X Window System, OpenGL rendering is made available as an
- extension to X in the formal X sense: connection and authentication are
- accomplished with the normal X mechanisms. As with other X extensions,
- there is a defined network protocol for the OpenGL rendering commands
- encapsulated within the X byte stream.
-
- Since performance is critical in 3D rendering, there is a way for
- OpenGL rendering to bypass the data encoding step, the data copying,
- and interpretation of that data by the X server. This direct rendering
- is possible only when a process has direct access to the graphics
- pipeline. Allowing for parallel rendering has affected the design of
- the GLX interface. This has resulted in an added burden on the client
- to explicitly prevent parallel execution when that is inappropriate.
-
- X and the OpenGL have different conventions for naming entry points and
- macros. The GLX extension adopts those of the OpenGL.
-
- ----------------------------------------------------------------------------
-
- * GLC Specification:
- OpenGL Character Renderer: A Specification Version 0.2, 26 Dec 1995
- o html format
- o compressed PostScript (28 pages)
-
- Introduction
-
- This document defines the OpenGL Character Renderer (GLC), a state
- machine that provides OpenGL programs with character rendering services
- via an application programming interface (API). This document is
- written with the assumption that the reader understands the OpenGL
- specification.
-
- Section 1 provides an overview of GLC, examples of its use, and a
- comparison with other character rendering services. Section 2 defines
- the GLC machine, Section 3 defines the GLC API, and Section 4 covers
- future extensions to GLC.
-
- ----------------------------------------------------------------------------
-
- * OpenGL on Silicon Graphics Systems, March 1996
- o HTML format
- o PostScript:
- complete book as single file:
- + compressed PostScript (362 pages)
- each chapter/section as a separate file:
- + Table of Contents with the introduction from each chapter
-
- NOTE: On the cover page of the complete book as a single
- PostScript file, it says "Early Access Release, November
- 1995". The chapters-as-separate-files accessible via the
- Table of Contents link are PostScript versions of the IRIX
- 6.2-release version. Other than indistinguishable "polish"
- applied to the chapters as individual files, the two versions
- ARE identical.
-
- from the beginning of About This Guide:
-
- OpenGL on Silicon Graphics Systems explains how to use the OpenGL
- graphics library on Silicon Graphics Systems. The guide expands on the
- OpenGL Programming Guide, which describes implemetation-independent
- aspects of OpenGL. It discusses these major topics:
-
- o Integrating OpenGL programs with the X Window System
-
- o Using OpenGL extensions
-
- o Debugging OpenGL Programs
-
- o Achieving maximum performance
-
- What This Guide Contains
-
- This guide consists of 14 chapters and 3 appendixes:
-
- o Chapter 1, "OpenGL on Silicon Graphics Systems," introduces the
- major issues involved in using OpenGL on Silicon Graphics systems.
-
- o Chapter 2, "Using OpenGL and X: Getting Started," first provides
- background information for working with OpenGL and the X Window
- System. You then learn how to display some OpenGL code in an X
- window with the help of a simple example program.
-
- o Chapter 3, "OpenGL and X: Examples," first presents two example
- programs that illustrate how to create a window using IRIS IM or
- Xlib. It then explains how to integrate text with your OpenGL
- program.
-
- o Chapter 4, "OpenGL and X: Advanced Topics," helps you refine your
- programs. It discusses how to use overlays and popups. It also
- provides information about pixmaps, visuals and colormaps, and
- animation.
-
- o Chapter 5, "Introduction to OpenGL Extensions," explains what
- OpenGL extensions are and how to check for OpenGL and GLX
- extension availability.
-
- o Chapter 6, "Texturing Extensions," explains how to use the
- texturing extensions, providing example code as appropriate.
-
- o Chapter 7, "Imaging and Blending Extensions," explains how to use
- extensions for color conversion (abgr, color table, color matrix),
- the convolution extension, the histogram/minmax extension, the
- packed pixel extension, and four color blending extensions.
-
- o Chapter 8, "Miscellaneous OpenGL Extensions," explains how to use
- the polygon offset extension, the vertex array extension, and the
- multisampling extension.
-
- o Chapter 9, "Extensions to GLX," explains how to use extensions to
- GLX, the OpenGL extension to the X Window System.
-
- o Chapter 10, "Debugging OpenGL Programs," explains how to use the
- OpenGL debugger (ogldebug) and provides some debugging hints.
-
- o Chapter 11, "Tuning Graphics Applications: Fundamentals,"
- discusses basic principles of tuning graphics applications:
- pipeline tuning, tuning animations, optimizing cache and memory
- use, and benchmarking.
-
- o Chapter 12, "Tuning the Pipeline," explains how to tune the
- different parts of the graphics pipeline for an OpenGL program.
- Example code fragments illustrate how to write your program for
- optimum performance.
-
- o Chapter 13, "Tuning Graphics Applications: Examples," provides a
- detailed discussion of the tuning process for a small example
- program. It also provides a code fragment that's helpful for
- drawing pixels fast.
-
- o Chapter 14, "System-Specific Tuning," provides information on
- tuning some specific Silicon Graphics systems: low-end systems,
- IMPACT systems, and Reality Engine systems.
-
- o Appendix A, "OpenGL and IRIS GL," helps you port your IRIS GL
- program to OpenGL by providing a table that contrasts IRIS GL
- functions and equivalent OpenGL functionality (including
- extensions).
-
- o Appendix B, "Benchmarks," lists a sample benchmarking program.
-
- o Appendix C, "Benchmarking Libraries: libpdb and libisfast,"
- discusses two libraries you can use for benchmarking drawing
- operations and maintaining a database of the results.
-
- Note that although this guide contains information useful to developers
- porting from IRIS GL to OpenGL, the primary source of information for
- porting is the OpenGL Porting Guide, available from Silicon Graphics
- (or via the IRIS Insight viewer online).
-
- ----------------------------------------------------------------------------
-
- * GLR, an OpenGL render server facility
- o html format
- o compressed PostScript (18 pages)
- o compressed showcase (31 slides), 2/14/96; talk given at X Tech
- Conf '96
- o compressed showcase (31 slides), 6/29/95; talk given at SGI
-
- NOTE: GLR software is only available on IRIX 6.2. To program
- and experiment with GLR, load the gl_dev.sw.samples subsytem
- which contains man pages and two necessary header files,
- /usr/include/GL/{glr.h,glrproto.h}.
-
- Abstract:
-
- GLR is a network-extensible render service providing OpenGL rendering
- into rectangular frame buffer regions. GLR virtualizes access to fast,
- high-quality, but expensive rendering hardware for purposes such as
- image processing, printing, frame buffer calculations, and off-loaded
- high-quality rendering.
-
- In particular, off-loaded rendering using GLR permits expensive
- high-end graphics hardware to be shared and amortized across a group of
- users on a local area network. Hybrid GLR programs for applications
- like computer-aided design and scientific visualization can use local
- OpenGL rendering for dynamic, interactive 3D graphics, then use GLR to
- render higher-quality static scenes (enabling higher tessellation,
- high-quality texturing, antialiasing, etc.) with sub-second latency.
-
- GLR's approach is novel because access to the rendering hardware is
- virtualized using render intervals allowing guaranteed access to the
- frame buffer resources for a client-requested duration. GLR is
- implemented as a client library and a specialized X window manager that
- schedules render intervals. Unlike a traditional window manager, the
- GLR window manager policy controls the mapping and unmapping of windows
- to effect the render interval policy. GLR demonstrates that the X
- Window System model is adaptable for uses other than the traditional
- window system.
-
- ----------------------------------------------------------------------------
-
- * OpenGL Render Serving with GLR:
-
- GLR is an OpenGL based render facility. GLR is a mechanism to share
- expensive graphics hardware resources between users on a network. The
- idea is to amortize the hardware among multiple users to bring
- high-quality rendering to a larger application and user audience.
- Imagine a network of Indy workstations that use their local graphics
- acceleration for most interactive tasks, but can fallback to GLR on a
- RealityEngine or InfiniteReality for extremely high-quality rendering.
-
- This documents (last updated 2/15/96) hails from
- http://reality.sgi.com/employees/mjk_asd/onyx_on_an_indy.html
- -- always reference the above link, for the most current, up-to-date
- version of this page.
-
- ----------------------------------------------------------------------------
-
- * GLR Render Serving Frequently Asked Questions
-
- Render serving with GLR is a new application market for Onyx machines
- with InfiniteReality and RealityEngine graphics. GLR makes it possible
- to amoritize the cost of an Onyx across a group of users on a network
- by providing OpenGL rendering as a networked service. Here are set of
- 30 frequently asked questions about GLR (last updated, May 10, 1996).
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Column 1: An OpenGL Toolkit, December, 1994
- o html format
- o compressed PostScript (5 pages)
-
- From the "Opener":
-
- Because OpenGL is window-system independent (the OpenGL API can work
- just as well for X as it does for Windows NT or OS/2), an OpenGL
- program uses the window management functions of its host window system.
- In the ``red'' book [see
- toolbox/src/tutorials/custEducation/opengl1/demos/OGLPG/, --DTjanitor],
- OpenGL examples were presented using the AUX library. AUX is a
- window-system independent toolkit for using OpenGL. The AUX interface
- lets you open a single window, render OpenGL, and handle basic input,
- but that is about the extent of its functionality. It's good for
- examples but not appropriate for anything much more sophisticated.
-
- Two alternatives to AUX are using Motif or Xlib to write your OpenGL
- applications. Either alternative works. In practice, Motif is likely to
- be the window system API most X programmers will use for sophisticated
- OpenGL applications. Unfortunately, both Motif and Xlib are rather
- complex. Many programmers wishing to explore 3D graphics with OpenGL
- will want something in between the toyish feel of AUX and the
- complexity of Motif or Xlib. That's where this issue's column helps
- out: supplying a reasonable toolkit to explore OpenGL. Future columns
- will use the described toolkit to demonstrate specific OpenGL
- functionality like lighting and texturing.
-
- The toolkit I describe is named GLUT, short for the openGL Utility
- Toolkit. The API for GLUT is designed to be simple and straightforward.
- Unlike more complex APIs like Xlib or Motif, very little setup is
- needed to begin displaying graphics. Also the GLUT API avoids obvious
- window system dependencies. The intent is that a GLUT program could be
- recompiled for OS/2 or NT if a GLUT implementation for those window
- systems was available.
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Column 2: Let there be light!, January/February, 1995
- o compressed PostScript format (10 pages)
-
- The source in this articles spans pp. 6-10, and is located in:
- toolbox/src/exampleCode/opengl/GLUT/progs/examples/lightlab.c
-
- Excerpts:
-
- In this column, I use GLUT to demonstrate OpenGL's support for lighting
- as a technique to improve the realism of OpenGL generated graphics.
-
- When generating 3D graphics on a computer, realism is almost always an
- underlying goal. If the 3D image is to be effective, it needs to convey
- a sense of realism to the viewer. Lighting is a means to improve the
- realism of a 3D scene. . . .
-
- The code in Appendix A is for a GLUT program named lightlab that allows
- you to change the material and lighting characteristics of a scene
- containing a teapot, a torus, and an icosahedron. The objects in the
- scene can be rendered to appear to be made of brass, red plastic,
- emerald, or slate. Two directional lights coming from the left and
- right can shine red, white, green, or not at all.... GLUT menus are
- used to control the various lighting parameters. The program's source
- code is a good start for exploring OpenGL lighting features.
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Column 3: Texture Mapping, March/April, 1995
- o compressed PostScript format (10 pages)
-
- The source in this article spans pp. 6-10, and is located in:
- toolbox/src/exampleCode/opengl/GLUT/progs/examples/mjkwarp.c
-
- Excerpts:
-
- An important technical reason behind OpenGL's success is its required
- support of advanced rendering features like texture mapping. The focus
- of this issue's column is to explain texture mapping for OpenGL. Like
- previous columns, the OpenGL Utility Toolkit (GLUT) is used in the
- column's example program.
-
- [Topics explored include:]
-
- o What is Texture Mapping?
- o Using Textures with OpenGL
- + Enabling texturing
- + Specifying a texture
- + Specifying texture modes
- + Rendering textured primitives
- + More texturing features
- o An Example
- The mjkwarp example program listed at the end of the article
- demonstrates using texture mapping to rotate, contort, and shatter
- a 2D image, all while the image spins. The effects are reminiscent
- of MTV video effects. The point of these effects is to demonstrate
- a few of the possibilities texture mapping permits. Figure 4 shows
- mjkwarp in its various texturing modes:
- + Elastic sheet
- + Spinning cube
- + Rotating squares
- o Conclusions
- o References
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Column 4: Blending, Antialiasing, And Fog, May/June, 1995
- o compressed PostScript format (7 pages)
-
- The source in this article spans pp. 5-10, and is located in:
- toolbox/src/exampleCode/opengl/GLUT/progs/examples/blender.c
-
- Excerpts:
-
- This month's column continues to survey OpenGL rendering features [and]
- is about OpenGL's blending operations for effects like translucency,
- antialiasing, and atmospheric effects like fog.
-
- [Topics explored include:]
-
- o Alpha and Blending
- o Uses for Blending
- o Antialiasing through Blending
- o Fog and Atmospheric Effects
- o Hints
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Column 5: Extensions To OpenGL, July/August, 1995
- o compressed PostScript format (9 pages)
-
- The source in this article spans pp. 5-10, and is located in:
- toolbox/src/exampleCode/opengl/GLUT/progs/examples/origami.c
-
- Excerpts:
-
- Previous OpenGL columns surveyed interesting aspects of OpenGL's core
- rendering functionality. This column is different; it focuses on how
- OpenGL implementations are being extended for even better rendering
- functionality.
-
- [Topics explored include:]
-
- o OpenGL Extension Naming
- o Available Extensions
- o Extension Interoperability
- o An Extension Example
- This column's example folds and unfolds a paper airplane as the
- airplane spins in 3D. The origami program works by modeling the
- paper airplane using eight polygons as pictured in Figure 1. The
- program then translates and rotates these polygons to animate the
- folding and unfolding of the paper plane. The airplane polygons
- are rendered in a single color, so outlines around each polygon
- help delineate the folds and edges of the airplane.
- o GLX Extensions
- o Extensions as OpenGL's Future
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Column 6: Hardware For Accelerating OpenGL,
- September/October, 1995
- o html format
- o compressed PostScript (11 pages)
-
- Excerpts:
-
- The last five OpenGL columns discussed OpenGL programming techniques
- and explained source code examples. This feature article is not about
- programming, but instead explores the ways graphics hardware can
- accelerate OpenGL rendering. The intent is to provide you with enough
- knowledge about 3D graphics hardware architecture to evaluate and
- select the right graphics hardware for your needs and budget.
-
- [Topics explored include:]
-
- o The Graphics Pipeline
- 1. Generation
- 2. Traversal
- 3. Transformation
- 4. Rasterization
- 5. Display
- + A Taxonomy for Graphics Hardware
- + Rendering Paths
- o Hardware for OpenGL
- + Display Options
- + Pixel Formats
- + Double Buffering
- + Overlays
- + Multiple Colormaps
- + Per-window Stereo
- + Rasterization
- + Primitive Decomposition
- + Texturing and Fog
- + Per-fragment Operations
- + Transformaing Geometry
- + Modeling transformation
- + Lighting calculations
- + Projection transformation
- + Clip testing
- + Perspective division
- + Viewport transformation
- + Pipelining and Parallelism
- + Types of Parallelism
- + Hardware for Window System Requirements
- + Graphics Context Switching
- + Fast and Arbitrary Window Clipping
- + Clip rectangles
- + Clip ID planes
- + Hardware Cursors
- o Graphics Subsystems Bottlenecks
- + Host vs. Transform vs. Fill Limits
- + Fill Limits
- + Transform Limits
- + Host Limits
- + OpenGL Command Bandwidth
- + Beware of Benchmarks
- o Conclusions
- o References
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Column 7: Using Open Inventor with GLUT,
- November/December, 1995
- o compressed PostScript format (8 pages)
-
- The source in this article spans pp. 5-8, and is located in:
- toolbox/src/exampleCode/opengl/GLUT/progs/inventor/glutduck.c++
-
- Excerpts:
-
- [First page focused on OpenGL's ubiqutous presence at SIGGRAPH '95,
- which "made it clear that OpenGL is the standard for interactive
- computer graphics."]
-
- [T]his column focuses on the relationship between OpenGL and Open
- Inventor and how the two graphics libraries interact. This column's
- example program demonstrates how to use Open Inventor with the OpenGL
- Utility Toolkit (GLUT).
-
- [Topics explored include:]
-
- o Procedural versus Descriptive
- o Open Inventor in Brief
- o Open Inventor with GLUT
- o Further Information
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Column 8: Curves and Surfaces in OpenGL,
- January/February, 1996
- o compressed PostScript format (8 pages)
-
- The source in this article spans pp. 6-8, and is located in:
- toolbox/src/exampleCode/opengl/GLUT/progs/examples/molehill.c
-
- This issue's topic is rendering curves and surfaces using OpenGL.
-
- [Topics explored include:]
-
- o Why Curves and Surfaces?
- o Evaluators
- o The GLU NURBS Routines
- + Uniform cubic B-splines
- + Cubic Bezier
- + Uniform cubic B-splines that passes through the endpoints
- + Non-Uniform
- + Rational
- + B-Spline
- o More Information
- o References
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Column 9: EXIT: A 3D standard for X (finally!),
- March/April, 1996
- o compressed PostScript format (2 pages)
-
- Excerpts:
-
- The long-term benefits -- that every major X vendor has now embraced
- OpenGL, the fastest standard 3D graphics interface available -- are
- enormous.
-
- ----------------------------------------------------------------------------
-
- * System Support for OpenGL Direct Rendering, September, 1994
- o html format
- o compressed PostScript (12 pages)
-
- Abstract:
-
- OpenGL's window system support for the X Window System explicitly
- allows implementations to support direct rendering of OpenGL commands
- to the graphics hardware. Rendering directly to the hardware avoids the
- overhead of packing and relaying protocol requests to the X server
- inherent in indirect rendering.
-
- The OpenGL implementation available for Silicon Graphics workstations
- supports direct rendering using virtualizable graphics hardware in
- conjuction with the kernel and X server. The techniques described
- provide "maximum performance" rendering for OpenGL. Some of the issues
- are specific to OpenGL, but most of the techniques described are
- appropriate for the implementation of any high-performance direct
- rendering graphics interface.
-
- ----------------------------------------------------------------------------
-
- * X Server Multi-rendering for OpenGL and PEX, January, 1994
- o html format
- o compressed PostScript (17 pages)
-
- Abstract:
-
- ABSTRACT: To support OpenGL(TM) and PEX rendering within the Silicon
- Graphics X server without compromising interactivity, we devised and
- implemented a scheme named multi-rendering. Making minimal changes to
- the X Consortium sample server's overall structure, the scheme allows
- independent processes within the X server's address space to perform
- OpenGL rendering asynchronously to the X server's main thread of
- execution. The IRIX operating system's process share group facility,
- user-level and pollable semaphores, and support for virtualized direct
- access rendering are all leveraged to support multi-rendering. The
- Silicon Graphics implementation of PEX also uses the multi-rendering
- facility and works by converting rendering requests into OpenGL
- commands. Mutli-rendering is contrasted with other schemes for
- improving server interactivity. Unlike co-routines, multi-rendering
- supports multi-processing; unlike multi-threading, multi-rendering
- requires minimal locking overhead.
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Part 1: An Introduction, November/December, 1993
- o html format
- o compressed postscript (14 pages)
- o glxsimple.c - accompanying source code example
-
- Abstract:
-
- The OpenGL graphics system is a high-performance, window system
- independent 2D and 3D graphics interface. The technology was developed
- by Silicon Graphics and is now controlled by the OpenGL Architecture
- Review Board. OpenGL's GLX extension integrates OpenGL with the X
- Window System. This article describes OpenGL's functionality and how it
- is used with X. A simple OpenGL program using Xlib is presented. OpenGL
- is compared and contrasted with PEX, a 3D graphics interface designed
- specifically for X. The two subsequent articles in this series describe
- how to integrate OpenGL with Xlib and Motif programs.
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Part 2: Using OpenGL with Xlib, January/February, 1994
- o html format
- o compressed postscript (18 pages)
- o glxdino.c - accompanying source code example
-
- Abstract:
-
- This is the second article in a three-part series about using the
- OpenGL graphics system and the X Window System. A moderately complex
- OpenGL program for X is presented. Depth buffering, back-face culling,
- lighting, display list modeling, polygon tessellation, double
- buffering, and shading are all demonstrated. The program adheres to
- proper X conventions for colormap sharing, window manager
- communication, command line argument processing, and event processing.
- After the example, advanced X and OpenGL issues are discussed including
- minimizing colormap flashing, handling overlays, using fonts, and
- performing animation. The last article in this series discusses
- integrating OpenGL with the Motif toolkit.
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, Part 3: Integrating OpenGL with Motif, July/August, 1994
- o html format
- o compressed postscript (12 pages)
- o paperplane.c - accompanying source code example
-
- Abstract:
-
- The OpenGL graphics system can be integrated with the industry-standard
- OSF/Motif user interface. This article discusses how to use OpenGL
- within a Motif application program. There are two approaches to using
- OpenGL with Motif. One is to render into a standard Motif drawing area
- widget, but this requires each application window to use a single
- visual for its window hierarchy. A better approach is to use the
- special OpenGL drawing area widget allowing windows used for OpenGL
- rendering to pick freely an appropriate visual without affecting the
- visual choice for other widgets. An example program demonstrates both
- approaches. The X Toolkit's work procedure mechanism animates the
- example's 3D paper airplanes. Handling OpenGL errors is also explained.
-
- ----------------------------------------------------------------------------
-
- * OpenGL and X, A Technical Overview of OpenGL and the X Window System,
- 8th X Technical Conference, January, 1994
- o compressed PostScript slides format, (49 slides)
-
- Topics covered include:
- o Goals of OpenGL, What is OpenGL?
- o Getting Your Hands on OpenGL (licenses)
- o Who's Who of OpenGL (companies implementing)
- o OpenGL API Hierarchy, OpenGL State Machine
- o Utility Library (GLU)
- o OpenGL State Machine Diagram (beginning)
- o OpenGL Main Points (properties)
- o OpenGL Data Flow Diagram
- o OpenGL extensions to X (GLX)
- o Special OpenGL visuals
- o OpenGL Command Syntax, States, Querying States
- o Drawing Geometry, Images and Bitmaps, Point, Line, and Polygon
- Attributes
- o Transformation Flow, Camera Analogy, Transformation functions
- o Processing of Colors (flow, methodology)
- o Alpha Blending, Antialiasing, Lighting [Properties],
- o Texturing (this page--36--can take a LONG time to display thru
- xpsview)
- o Texture Mapping Uses, Atmospheric Effects, Hidden Surface Removal
- o Accumulation Buffer, Stencil Planes
- o Feedback & Selection, Evaluators
- o Display Lists [Routines] [Editing], Text
- o Summary, For More Information
-
- ----------------------------------------------------------------------------
-
- * How OpenGL integrates with the X Window System, 8th X Technical
- Conference, January, 1994
- o compressed showcase format (53 slides)
-
- Topics covered include:
- o Overview of OpenGL's integration with the X Window System
- o Survey of the GLX API
- o Basic Usage of OpenGL with X
- o Selecting the right visual
- o Colormaps
- o Event Handling: Exposes, Resizes, Input
- o Double Buffering
- o Font Support
- o Overlays and Underlays
- o Display Lists
- o Mixing X and OpenGL
- o Motif Integration
-
- ----------------------------------------------------------------------------
-
- * The OpenGL Graphics Interface, (introduction to OpenGL)
- o html format
- o compressed PostScript (21 pages)
-
- Abstract:
-
- Graphics standards are receiving increased attention in the computer
- graphics community as more people write programs that use 3D graphics
- and as those already possessing 3D graphical programs want those
- programs to run on a variety of computers.
-
- OpenGL is an emerging graphics standard that provides advanced
- rendering features while maintaining a simple programming model. Its
- procedural interface allows a graphics programmer to describe rendering
- tasks, whether simple or complex, easily and efficiently. Because
- OpenGL is rendering-only, it can be incorporated into any window system
- (and has been, into the X Window System and the soon-to-be-released
- Windows NT) or can be used without a window system. Finally, OpenGL is
- designed so that it can be implemented to take advantage of a wide
- range of graphics hardware capabilities, from a basic framebuffer to
- the most sophisticated graphics subsystems.
-
- ----------------------------------------------------------------------------
-
- * The Design of OpenGL Graphics Interface (philosphy and details)
- o html format
- o compressed PostScript (10 pages)
-
- Abstract:
-
- OpenGL is an emerging graphics standard that provides advanced
- rendering features while maintaining a simple programming model.
- Because OpenGL is rendering-only, it can be incorporated into any
- window system (and has been, into the X Window System and a
- soon-to-be-released version of Windows) or can be used without a window
- system. An OpenGL implementation can efficiently accommodate almost any
- level of graphics hardware, from a basic framebuffer to the most
- sophisticated graphics subsystems. It is therefore a good choice for
- use in interactive 3D and 2D graphics applications.
-
- We describe how these and other considerations have governed the
- selection and presentation of graphical operators in OpenGL. Complex
- operations have been eschewed in favor of simple, direct control over
- the fundamental operations of 3D and 2D graphics. Higher-level
- graphical functions may, however, be built from OpenGL's low-level
- operators, as the operators have been designed with such layering in
- mind.
-
- CR Categories and Subject Descriptors: I.3.3 [Computer Graphics]:
- Picture/Image Generation; I.3.7 [Computer Graphics]: Three-Dimensional
- Graphics and Realism
-
- -------------------------------------------------------------------------------
-
- Copyright ⌐ 1995-96, Silicon Graphics, Inc.
-